Positioning Satellites

ABSTRACT

A method comprising: receiving first information for defining a first algebraic function that relates a time variable to a first mapped variable; using the function to convert a time variable value to a first value of the first mapped variable e.g. s; converting the first value of the first mapped variable to a second value of a second mapped variable e.g. U; and positioning a satellite by converting the second value of the second mapped variable value to a position value that positions a satellite.

FIELD OF THE INVENTION

Embodiments of the present invention relate to positioning satellites. In particular, they relate to positioning satellites using solutions derived by geometric algebraic methods to equations of motion.

BACKGROUND TO THE INVENTION

Typically the differential equation of motion for a satellite orbiting the earth is solved numerically to determine the future positions of the satellites. This means that the determined future positions are only accurate with a limited time window typically a few hours.

BRIEF DESCRIPTION OF VARIOUS EMBODIMENTS OF THE INVENTION

According to various, but not necessarily all, embodiments of the invention there is provided embodiments as described in the appended claims.

Some embodiments of the invention by using geometric algebraic solutions enable long term accurate positioning without the need for current ephemeris data. The inherent accuracy of the geometric algebraic solutions (compared to numeric solutions) enables the positioning of an apparatus without having to download current ephemeris data.

Current positioning solutions (which use numeric solutions) require updated ephemeris data every 2 to 4 hours because the accuracy of the numeric solution decreases with time. The inventive solution proposed here is better able to accurately determine the future positions of satellites because it provides a geometric algebraic solution of designed (predetermined) accuracy. It will be able to work accurately using ephemeris data for a chosen duration into the future that may be days, weeks or even months.

This will enable the positioning of an apparatus when it is switched on without first having to download the current ephemeris data. The location of the apparatus will therefore be determined more quickly.

The use of pre-calculated algebraic look-up tables may be used to provide fast positioning.

The (real world) position of an apparatus is a technical feature of the apparatus. Thus the positioning or locating of an apparatus provides technical effect.

In the example given below, the perturbation order determines the accuracy of the positioning calculation into the future. For longer term accuracy, more orders are required. As the perturbation calculation starts at the lowest order and the solution to that order is used to determine the solution to the next highest order, the perturbation calculation may be stopped at the required order of accuracy. A look up table may indicate the order required for a particular duration into the future. Thus the perturbation order may be a dynamic variable of the calculation.

The number of terms in the expansion (Annex pg 68) also affects the fundamental accuracy of the calculations. Accuracy may be improved by including more terms. Thus the number of terms may be a dynamic variable of the calculation.

It will be appreciated that real world positioning has many applications. It may, for example, be used in navigation apparatus, in emergency apparatus, in apparatus that provide location dependent services, etc.

Embodiments of the invention may result in a satellite positioning system transmitting less (or no) ephemeris data. This may result in fewer satellite tracking stations. This may enable the use of longer pseudo codes in satellite transmissions which would result in greater sensitivity of receivers. This could free up bandwidth in the satellite transmissions which could be used for other purposes.

Embodiments of the invention enables fast positioning by occasional-use positioning apparatus, that have pre-stored or ‘old’ ephemeris data.

BRIEF DESCRIPTION OF THE DRAWINGS

For a better understanding of various examples of embodiments of the present invention reference will now be made by way of example only to the accompanying drawings in which:

FIG. 1 schematically illustrates a satellite positioning system;

FIG. 2 schematically illustrates a method for determining a satellite position;

FIG. 3 schematically illustrates, in detail, for determining an unknown satellite position at a particular time;

FIG. 4 schematically illustrates a Global Navigation Satellite System (GNSS); and

FIG. 5 schematically illustrates a controller.

DETAILED DESCRIPTION OF VARIOUS EMBODIMENTS OF THE INVENTION

FIG. 1 schematically illustrates a satellite positioning system 10. The system 10 is capable of positioning one or more satellites 2. A satellite is an object that orbits a much greater mass such that the centre of the orbit can be approximated to the centre of the greater mass. Satellites may be earth satellites that orbit the earth. Earth satellites may be functional man-made satellites that orbit the Earth such as satellites in a Global Navigation Satellite System (GNSS). In FIG. 1, the satellite 2 is a space satellite high above the Earth.

The system 10 comprises: an empirical data generator 12; an ephemeris data generator 13; and a positioning apparatus 14. One or more of the components is located on the Earth.

The ephemeris data generator 13 provides ephemeris (orbit) data 15 to the positioning apparatus 14. Ephemeris data 15 is information about the position and velocity at a particular time of one or more satellites. The same or different particular times may be used for different satellites.

The empirical data generator 12 provides empirical based data 16 to the positioning apparatus 14. The empirically based data 16 accounts for the distribution of the mass of the Earth.

The positioning apparatus 14 uses the ephemeris data 15 and the empirically based data to determine the position 17 of the satellite 2. The positioning apparatus 14 may output the satellite position 17.

Although a single satellite 2 is illustrated, it should be appreciated that a plurality of satellites may be positioned by the positioning apparatus 14.

In some implementations the positioning apparatus 14 is part of a mobile terminal. In other implementations the positioning apparatus 14 is not part of a mobile terminal but communicates the satellite position 17 to a mobile terminal.

One example of how the positioning apparatus 14 can determine the satellite position 17 is illustrated in the method 20 of FIG. 2.

At block 21, the empirically based data 16 is obtained. The empirically based data takes account of the gravitational potential produced by the Earth's distributed mass.

At block 22, initial conditions for the satellite are determined from the ephemeris data 15. The initial conditions include {dot over (r)}_(int) the vector velocity of the satellite at time t₀ and r_(int) the vector position of the satellite at time t_(int).

At block 23, the initial conditions are mapped using defined mappings from one variable space [r, t] to another variable space [U, s]. This produces initial conditions in [U, s] space.

At block 24, a differential equation of motion of the satellite, expressed using geometric algebra in terms of U and s is solved.

The differential equation of motion of the satellite, expressed using geometric algebra in terms of U and s comprises a constant based on the empirically based data 16 and this differential equation is solved using perturbation theory and the mapped initial conditions.

At block 25, an algebraic solution to the differential equation of motion of the satellite is used to determine the position of the satellite at a chosen time.

The use of algebraic as opposed to numerical solutions gives a solution that has a very long, theoretically infinite, validity period. The accuracy is selectable and depends upon the order of the perturbation solutions.

The time scale for updating the empirical based constant can be very long. It may have a period T1, where T1>N1, in different implementations N1 can have any one of the values greater than 1 day and less than 365 days.

The time scale for updating the empirical based constant can be very long. It may have a period T2, where T2>M1, in different implementations M1 can have any one of the values greater than 4 hours and less than 365 days. M1 may, for example, be 4 days or 2 weeks.

Explanation of the Mathematics

This section outlines the mathematics used in one method of positioning a satellite. A full and detailed explanation of the mathematics is included as an Annex to the description.

In this section, the Equations will identify vectors using bold notation. Vectors are identified by context within the description or may be identified using an underscore or bold font.

Equations of Motion in Terms of U

In this section the Kepler equation is re-expressed using the variables r and U giving a new equation of motion.

The Kepler Equation for motion in a gravitational field is:

$\begin{matrix} {\overset{¨}{r} = {{- \frac{kr}{r^{2}}} + f}} & {- 4} \end{matrix}$

(Annex pg 10)

r is the distance of the satellite from the origin f is a force that accounts for the distribution of the attracting mass Make the following definitions:

r=U ^(†)σ₁ U

$\begin{matrix} \left( {{Annex}\mspace{14mu} {pg}\mspace{14mu} 7} \right) & \; \\ {\frac{\;}{s} = {\left. {r\frac{\;}{t}}\Rightarrow\frac{t}{s} \right. = {r = {U}^{2}}}} & {\text{-}3} \end{matrix}$

(Annex pg 10)

σ₁ is a unit vector (later referred to as {circumflex over (r)}_(int)) U is a geometric algebraic multivector (bivector)

Re-expressing Kepler's Equation of motion (equation 4) using geometric algebra in terms of U and f as defined in Equations 2 and 3 gives:

$\begin{matrix} {{2\frac{^{2}}{s^{2}}U} = {{EU} + {Urf}}} & 5 \end{matrix}$

(Annex pg 11)

E is the Kepler energy

${\left( {\frac{t^{2}}{2} - \frac{k}{r}} \right) = E},$

Perturbation Force

The perturbation force f may be expressed as a vector sum of a plurality of forces f_(i) e.g. f=Σf_(i).

Kepler's equation assumes a point source for the mass. Let us assume that the component f_(i) with the greatest influence on f deals with the effect of mass distribution, where f_(i) which is the gravitational field created by the uneven distribution of the earth's mass. Then to the first order f can be approximated to f_(i).

In this section the force f will be expressed using geometric algebra as a multi-pole function (when no axial symmetry is assumed) in terms of U.

The stages to this are:

a) Initially the multi-pole function is initially expressed in terms of P, b) then in terms of an arbitrary coordinate system without assuming axial symmetry, c) then finally expressed in terms of U.

Gravitational potential is expressed as:

$\begin{matrix} {{\varphi \left\lbrack {r,t} \right\rbrack} = {{- G}{\int{\frac{1}{{r - r^{\prime}}}{m^{\prime}}}}}} & 6 \end{matrix}$

(Annex pg 12)

A multipole expansion is performed using geometric algebra as:

$\begin{matrix} \left. \left. \mspace{79mu} {{\frac{1}{{r - r^{\prime}}} = {\frac{1}{r}\left( {1 + {\sum\limits_{n = 1}^{\omega}{P_{n}\left\lbrack {r,r^{\prime}} \right\rbrack}}} \right)}}\mspace{79mu} {where}{{P_{n}\left\lbrack {r,r^{\prime}} \right\rbrack} = {\sum\limits_{k = 0}^{{Floor}{\lbrack\frac{a}{2}\rbrack}}{\left( {{- \frac{1}{2}}C_{n - k}} \right)*\left( {\left( {n - k} \right)C_{n - {2k}}} \right)*\frac{\left. {\left( {{- 2}{r \cdot r^{\prime}}} \right)^{n - {2k}}\left( r^{\prime} \right)^{2k}} \right)}{r^{2{({n - k})}}}}}}} \right) \right) & 1 \end{matrix}$

(Annex pg 5)

where Pn is the Legendre polynomial of order n and Cn are the coefficients of a Taylor series (standard binomial coefficients). There is no assumption of spherical symmetry.

The gravitational potential can then be expressed using the multipole expansion (Equation 1)

$\begin{matrix} {{\varphi \left\lbrack {r,t} \right\rbrack} = {{- G}{\int{\frac{1}{r}\left( {1 + {\sum\limits_{n = 1}^{\omega}{P_{n}\left\lbrack {r,r^{\prime}} \right\rbrack}}} \right){{m^{\prime}\left\lbrack r^{\prime} \right\rbrack}}}}}} & 7 \end{matrix}$

(Annex pg 12)

φ is the gravitational potential created by the uneven distribution of the earth's mass expressed as location dependent values.

We now define an arbitrary orthogonal rectilinear co-ordinate system

Let {dot over (û)} be a unit vector in the direction of the axis of rotation. Let {dot over ({circumflex over (v)} and {dot over (ŵ)} represent unit vectors orthogonal to {dot over (û)} and orthogonal to each other.

We can express r′ as

r′=u′û′+v′{circumflex over (v)}′+w′ŵ′

where

û′=û,{circumflex over (v)}′={circumflex over (v)} Cos [ω_(er) t]−ŵ Sin [ω_(er) t],

ŵ′={circumflex over (v)} Sin [ω_(er) t]+ŵ Cos [ω_(er) t]

The dashed unit vectors rotate with the body assumed to rotate with an angular velocity of ω_(er) about the axis parallel to û and passing through the center of gravity.

û·{circumflex over (v)}=0,û·ŵ=0,ŵ·{circumflex over (v)}=0  (8)

(Annex pg 15)

Re expressing Equation 7 using Equation 8

$\begin{matrix} {{{{- G}{\int{\frac{1}{r}{P_{n}\left\lbrack {r,r^{\prime}} \right\rbrack}{{m^{\prime}\left\lbrack r^{\prime} \right\rbrack}}}}} = {{- \frac{GM}{r}}{\sum\limits_{{k{\lbrack 1\rbrack}} = 0}^{{Floor}{\lbrack\frac{n}{2}\rbrack}}{\sum\limits_{i = 0}^{n - {2{k{\lbrack 1\rbrack}}}}{\sum\limits_{j = 0}^{i}{\sum\limits_{{k{\lbrack 2\rbrack}} = 0}^{i - j}{\sum\limits_{{k{\lbrack 3\rbrack}} = 0}^{j}{\left( {{- \frac{1}{2}}C_{n - {k{\lbrack 1\rbrack}}}} \right)*\left( {\left( {n - {k\lbrack 1\rbrack}} \right)C_{n - {2{k{\lbrack 1\rbrack}}}}} \right)*\left( {n - {2k}} \right)C_{1}*{iC}_{j}*\left( {i - j} \right)C_{k{\lbrack 2\rbrack}}*{jC}_{k{\lbrack 3\rbrack}}*\left( {- 2} \right)^{n - {2{k{\lbrack 1\rbrack}}}}\left( {- 1} \right)^{k{\lbrack 2\rbrack}}\left( \frac{R}{r} \right)^{n}\left( {\left( {\left( {\hat{r} \cdot \hat{u}} \right)^{n - {2{k{\lbrack 1\rbrack}}} - i}\left( {\hat{r} \cdot \hat{v}} \right)^{i - j}\left( {\hat{r} \cdot \hat{w}} \right)^{j}} \right)*\left( {\left( {{Cos}\left\lbrack {\omega_{er}t} \right\rbrack} \right)^{i - j - {k{\lbrack 2\rbrack}} + {k{\lbrack 3\rbrack}}}\left( {{Sin}\left\lbrack {\omega_{er}t} \right\rbrack} \right)^{j + {k{\lbrack 2\rbrack}} - {k{\lbrack 3\rbrack}}}} \right)} \right)*{{{J\lbrack n\rbrack}\left\lbrack {{n - {2{k\lbrack 1\rbrack}} - i},{i - \left( {{k\lbrack 2\rbrack} + {k\lbrack 3\rbrack}} \right)},{{k\lbrack 2\rbrack} + {k\lbrack 3\rbrack}}} \right\rbrack}\left\lbrack {{\hat{u}}^{\prime},{\hat{v}}^{\prime},{\hat{w}}^{\prime}} \right\rbrack}}}}}}}}}\mspace{79mu} {where}{{{{J\lbrack n\rbrack}\left\lbrack {p,q,r} \right\rbrack}\left\lbrack {{\hat{u}}^{\prime},{\hat{v}}^{\prime},{\hat{w}}^{\prime}} \right\rbrack} = {\frac{1}{{MR}^{n}}\left( {\int{\left( {\left( {{\hat{r}}^{\prime} \cdot {\hat{u}}^{\prime}} \right)^{p}\left( {{\hat{r}}^{\prime} \cdot {\hat{v}}^{\prime}} \right)^{q}\left( {{\hat{r}}^{\prime} \cdot {\hat{w}}^{\prime}} \right)^{r}} \right)\left( r^{\prime} \right)^{n}{{m^{\prime}\left\lbrack r^{\prime} \right\rbrack}}}} \right)}}} & 9 \end{matrix}$

(Annex pg 29/30)

J[n][p, q, r][û′, {circumflex over (v)}′, ŵ′] is a multipole constant (henceforth referred to as J) that can be empirically determined. It is a set of n constants for a given set of parameters [p, q, r] and a given co-ordinate system [û′, {circumflex over (v)}′, ŵ′]. Although described as a constant, it should be appreciated that J may be conveyed as a set of constant values, one for each n, or may be conveyed as a single constant value (the integral) with the set of constant values being determined later using M, R and n. Once the vectors û, {dot over ({circumflex over (v)}, {dot over (ŵ)} have been fixed J is a constant.

Use the gravitational potential expressed in Equation 9 to express the perturbation field f

$\begin{matrix} {{\partial_{r}\left( {{- G}{\int{\frac{1}{r}{P_{n}\left\lbrack {r,r^{\prime}} \right\rbrack}{{m^{\prime}\left\lbrack r^{\prime} \right\rbrack}}}}} \right)} = {\partial_{r}\left( {{- \frac{GM}{r}}{\sum\limits_{{k{\lbrack 1\rbrack}} = 0}^{{Floor}{\lbrack\frac{n}{2}\rbrack}}{\sum\limits_{i = 0}^{n - {2{k{\lbrack 1\rbrack}}}}{\sum\limits_{j = 0}^{i}{\sum\limits_{{k{\lbrack 2\rbrack}} = 0}^{i - j}{\sum\limits_{{k{\lbrack 1\rbrack}} = 0}^{j}{\left( {{- \frac{1}{2}}C_{n - {k{\lbrack 1\rbrack}}}} \right)*\left( {\left( {n - {k\lbrack 1\rbrack}} \right)C_{n - {2{k{\lbrack 1\rbrack}}}}} \right)*\left( {n - {2k}} \right)C_{1}*{iC}_{j}*\left( {i - j} \right)C_{k{\lbrack 2\rbrack}}*{jC}_{k{\lbrack 3\rbrack}}*\left( {- 2} \right)^{n - {2{k{\lbrack 1\rbrack}}}}\left( {- 1} \right)^{j - {k{\lbrack 3\rbrack}}}\left( \frac{R}{r} \right)^{n}\left( {\left( {\left( {\hat{r} \cdot \hat{u}} \right)^{n - {2{k{\lbrack 1\rbrack}}}}\left( {\hat{r} \cdot \hat{v}} \right)^{i - j}\left( {\hat{r} \cdot \hat{w}} \right)^{j}} \right)*\left( {\left( {{Cos}\left\lbrack {\omega_{er}t} \right\rbrack} \right)^{i - j - {k{\lbrack 2\rbrack}} + {k{\lbrack 3\rbrack}}}\left( {{Sin}\left\lbrack {\omega_{er}t} \right\rbrack} \right)^{j + {k{\lbrack 2\rbrack}} - {k{\lbrack 3\rbrack}}}} \right)} \right)*{{{J\lbrack n\rbrack}\left\lbrack {{n - {2{k\lbrack 1\rbrack}} - i},{i - \left( {{k\lbrack 2\rbrack} + {k\lbrack 3\rbrack}} \right)},{{k\lbrack 2\rbrack} + {k\lbrack 3\rbrack}}} \right\rbrack}\left\lbrack {\hat{u},\hat{v},\hat{w}} \right\rbrack}}}}}}}} \right)}} & 10 \end{matrix}$

(Annex pg 34)

This can be alternatively expressed as

$\begin{matrix} {{\partial_{r}\left( {{- G}{\int{\frac{1}{r}{P_{n}\left\lbrack {r,r^{\prime}} \right\rbrack}{{m^{\prime}\left\lbrack r^{\prime} \right\rbrack}}}}} \right)} = {{- {GM}}{\sum\limits_{{k{\lbrack 1\rbrack}} = 0}^{{Floor}{\lbrack\frac{\alpha}{2}\rbrack}}{\sum\limits_{i = c}^{n - {2{k{\lbrack 1\rbrack}}}}{\sum\limits_{j = 0}^{i}{\sum\limits_{{k{\lbrack 2\rbrack}} = 0}^{i - j}{\sum\limits_{{k{\lbrack 3\rbrack}} = 0}^{j}{\left( {{- \frac{1}{2}}C_{n - {k{\lbrack 1\rbrack}}}} \right)*\left( {\left( {n - {k\lbrack 1\rbrack}} \right)C_{n - {2{k{\lbrack 1\rbrack}}}}*\left( {n - {2k}} \right)C_{1}*{iC}_{j}*\left( {i - j} \right)C_{k{(2)}}*{jC}_{k{\lbrack 3\rbrack}}*\left( {- 2} \right)^{n - {2{\lbrack 1\rbrack}}}\left( {- 1} \right)^{j - {k{\lbrack 3\rbrack}}}\left( \frac{R}{r} \right)^{n}*\left( {\left( {{Cos}\left\lbrack {\omega_{er}t} \right\rbrack} \right)^{i - j - {k{\lbrack 2\rbrack}} + {k{\lbrack 3\rbrack}}}\left( {{Sin}\left\lbrack {\omega_{er}t} \right\rbrack} \right)^{j + {k{\lbrack 2\rbrack}} - {k{\lbrack 1\rbrack}}}} \right)} \right)*{{{J\lbrack n\rbrack}\left\lbrack {{n - {2{k\lbrack 1\rbrack}} - i},{i - \left( {{k\lbrack 2\rbrack} + {k\lbrack 3\rbrack}} \right)},{{k\lbrack 2\rbrack} + {k\lbrack 3\rbrack}}} \right\rbrack}\left\lbrack {\hat{u},\hat{v},\hat{w}} \right\rbrack}*r^{- 2}{\quad\left( {{\left( {{- \left( {{2\left( {n - {k\lbrack 1\rbrack}} \right)} + 1} \right)}\hat{r}} \right)\left( {\hat{r} \cdot \hat{u}} \right)^{n - {2{k{\lbrack 1\rbrack}}} - 1}\left( {\hat{r} \cdot \hat{v}} \right)^{1 - j}\left( {\hat{r} \cdot \hat{w}} \right)^{j}} + \left( {\left( {\left( {n - {2{k\lbrack 1\rbrack}} - i} \right)\left( {\hat{r} \cdot \hat{u}} \right)^{n - {2{k{\lbrack 1\rbrack}}} - 1 - 1}\hat{u}} \right)\left( {\hat{r} \cdot \hat{v}} \right)^{i - j}\left( {\hat{r} \cdot \hat{w}} \right)^{j}} \right) + \left( {\left( {\hat{r} \cdot \hat{u}} \right)^{n - {2{k{\lbrack 1\rbrack}}} - i}\left( {\left( {i - j} \right)\left( {\hat{r} \cdot \hat{v}} \right)^{i - j - 1}\hat{v}} \right)\left( {\hat{r} \cdot \hat{w}} \right)^{j}} \right) + \left( {\left( {\hat{r} \cdot \hat{u}} \right)^{n - {2{k{\lbrack 1\rbrack}}} - i}\left( {\hat{r} \cdot \hat{v}} \right)^{i - j}\left( {{j\left( {\hat{r} \cdot \hat{w}} \right)}^{j - 1}\hat{w}} \right)} \right)} \right.}}}}}}}}} & (11) \end{matrix}$

(Annex pg 36) Equations of Motion Expressed in Terms of U and Perturbation Force

Re-express the equation of motion (Equation 5) using Equation 11

$\begin{matrix} {{{2\frac{^{2}}{s^{2}}U} - {EU}} = {{{Ur}\left( {\sum\limits_{n = 2}^{\infty}{\partial_{r}\left( {{- G}{\int{\frac{1}{r}{P_{n}\left\lbrack {r,r^{\prime}} \right\rbrack}{{m^{\prime}\left\lbrack r^{\prime} \right\rbrack}}}}} \right)}} \right)} = {{- {GM}}{\quad\left( {\sum\limits_{n = 2}^{\infty}{\sum\limits_{{k{\lbrack 1\rbrack}} = 0}^{{Floor}{\lbrack\frac{\alpha}{2}\rbrack}}{\sum\limits_{i = 0}^{n - {2{k{\lbrack 1\rbrack}}}}{\sum\limits_{j = 0}^{i}{\sum\limits_{{k{\lbrack 3\rbrack}} = 0}^{j}{\left( {{- \frac{1}{2}}C_{n - {k{\lbrack 1\rbrack}}}} \right)*\left( {\left( {n - {k\lbrack 1\rbrack}} \right)C_{n - {2{k{\lbrack 1\rbrack}}}}*\left( {n - {2k}} \right)C_{1}*{iC}_{j}*\left( {i - j} \right)C_{k{\lbrack 2\rbrack}}*{jC}_{k{\lbrack 3\rbrack}}*\left( {- 2} \right)^{n - {2{k{\lbrack 1\rbrack}}}}\left( {- 1} \right)^{j - {k{\lbrack 3\rbrack}}}\left( \frac{R}{r} \right)^{n}*\left( {\left( {{Cos}\left\lbrack {\omega_{er}t} \right\rbrack} \right)^{i - j - {k{\lbrack 2\rbrack}} + {k{\lbrack 3\rbrack}}}\left( {{Sin}\left\lbrack {\omega_{er}t} \right\rbrack} \right)^{j + {k{\lbrack 2\rbrack}} - {k{\lbrack 3\rbrack}}}} \right)} \right)*{{{J\lbrack n\rbrack}\left\lbrack {{n - {2{k\lbrack 1\rbrack}} - i},{i - \left( {{k\lbrack 2\rbrack} + {k\lbrack 3\rbrack}} \right)},{{k\lbrack 2\rbrack} + {k\lbrack 3\rbrack}}} \right\rbrack}\left\lbrack {\hat{u},\hat{v},\hat{w}} \right\rbrack}*{{Urr}^{- 2}\left( {{\left( {{- \left( {{2\left( {n - {k\lbrack 1\rbrack}} \right)} + 1} \right)}\hat{r}} \right)\left( \frac{\left( {\left( {\sigma_{2}U^{2}} \right) + \hat{u} + {\hat{u}\left( {\sigma_{1}U^{2}} \right)}} \right)}{2{U}^{2}} \right)^{n - {2{k{\lbrack 1\rbrack}}} - i}\left( \frac{\left( \left( {{\sigma_{1}U^{2}\hat{v}} + {\hat{v}\left( {\sigma_{1}U^{2}} \right)}} \right) \right.}{2{U}^{2}} \right)^{i - j}\left( \frac{\left( {{\left( {\sigma_{1}U^{2}} \right)\hat{w}} + {\hat{w}\left( {\sigma_{1}U^{2}} \right)}} \right)}{2{U}^{2}} \right)^{j}} + \left( {\left( {\left( {n - {2{k\lbrack 1\rbrack}} - i} \right)\left( \frac{\left( {{\left( {\sigma_{1}U^{2}} \right)\hat{u}} + {\hat{u}\left( {\sigma_{1}U^{2}} \right)}} \right)}{2{U}^{2}} \right)^{n - {2{k{\lbrack 1\rbrack}}} - i - 1}\hat{u}} \right)\left( \frac{\left( {{\left( {\sigma_{1}U^{2}} \right)\hat{v}} + {\hat{v}\left( {\sigma_{1}U^{2}} \right)}} \right)}{2{U}^{2}} \right)^{i - j}\left( \frac{\left( {{\left( {\sigma_{1}U^{2}} \right)\hat{w}} + {\hat{w}\left( {\sigma_{1}U^{2}} \right)}} \right)}{2{U}^{2}} \right)^{j}} \right) + \left( {\left( \frac{\left( {{\left( {\sigma_{1}U^{2}} \right)\hat{u}} + {\hat{u}\left( {\sigma_{1}U^{2}} \right)}} \right)}{2{U}^{2}} \right)^{n - {2{k{\lbrack 1\rbrack}}} - i}\left( {\left( {i - j} \right)\left( \frac{\left( {{\left( {\sigma_{1}U^{2}} \right)\hat{v}} + {\hat{v}\left( {\sigma_{1}U^{2}} \right)}} \right)}{2{U}^{2}} \right)^{i - j - 1}\hat{v}} \right)\left( \frac{\left( {{\left( {\sigma_{1}U^{2}} \right)\hat{w}} + {\hat{w}\left( {\sigma_{1}U^{2}} \right)}} \right)}{2{U}^{2}} \right)^{j}} \right) + \left( {\left( \frac{\left( {{\left( {\sigma_{1}U^{2}} \right)\hat{u}} + {\hat{u}\left( {\sigma_{1}U^{2}} \right)}} \right)}{2{U}^{2}} \right)^{n - {2{k{\lbrack 1\rbrack}}} - i}\left( \frac{\left( {{\left( {\sigma_{1}U^{2}} \right)\hat{v}} + {\hat{v}\left( {\sigma_{1}U^{2}} \right)}} \right)}{2{U}^{2}} \right)^{i - j}\left( {{j\left( \frac{\left( {{\left( {\sigma_{1}U^{2}} \right)\hat{w}} + {\hat{w}\left( {\sigma_{1}U^{2}} \right)}} \right)}{2{U}^{2}} \right)}^{j - 1}\hat{w}} \right)} \right)} \right)}}}}}}} \right.}}}} & 12 \end{matrix}$

(Annex pg 43/44)

Given the initial position vector r_(Init) and velocity vector {circumflex over (r)}_(Init) of the orbiting body, we can specify the bivector component of U to be proportional to {circumflex over (r)}_(Init) ̂{dot over ({circumflex over (r)}_(Init) i.e.

<U> ₂ =α{circumflex over (r)} _(Init) ̂{dot over ({circumflex over (r)} _(Init)

where α is some scalar that is to be specified later <U>₂ the plane of the angular momentum of the satellite.

(Annex pg 40) Using

σ₁ U ^(t) =Uσ ₁

(Annex pg 43)

σ₁ ={circumflex over (r)} _(Init)

(Annex pg 44)

-   -   Define

${\kappa \left\lbrack {U,{\hat{r}}_{Init},{\hat{r}}_{Init},\hat{w}} \right\rbrack} = {{\frac{\left( {{\left( {\beta^{2} - \alpha^{2}} \right){{\hat{r}}_{Init} \cdot \hat{w}}} + {2{{\hat{\alpha\beta r}}_{Init} \cdot \hat{w}}}} \right)}{r_{Init}}{where}\beta} = {{{\langle U\rangle}_{0}{and}\alpha} = {{\langle U\rangle}_{2}\left( {{\overset{\hat{.}}{r}}_{Init}\bigwedge{\hat{r}}_{Init}} \right)}}}$

(Annex pg 47)

The division by r_(int) maintains precision.

Define a new constant

$\begin{matrix} {\left. {{r_{a}\left\lbrack {U,\hat{u},\hat{v},\hat{w},{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init},{\overset{\hat{.}}{r}}_{Init}} \right\rbrack} = {\left( {\sum\limits_{p = 0}^{\infty}{\left( {- 1} \right)^{p}\left( {\frac{{U}^{2}}{r_{Init}} - 1} \right)^{p}}} \right)^{{2n} + 1}{\sum\limits_{i = 0}^{n - {2{k{\lbrack 1\rbrack}}}}{\sum\limits_{j = 0}^{i}{\sum\limits_{{k{\lbrack 2\rbrack}} = 0}^{i - j}{\sum\limits_{{k{\lbrack 3\rbrack}} = 0}^{j}{\left( {{- \frac{1}{2}}C_{n - {k{\lbrack 1\rbrack}}}} \right)*\left( {\left( {n - {k\lbrack 1\rbrack}} \right)C_{n - {k{\lbrack 1\rbrack}}}*\left( {n - {2k}} \right)C_{i}} \right){iC}_{j}*\left( {i - j} \right)C_{k{\lbrack 2\rbrack}}*{jC}_{k{\lbrack 3\rbrack}}*\left( {- 2} \right)^{n - {2{k{\lbrack 1\rbrack}}}}\left( {- 1} \right)^{j - {k{\lbrack 3\rbrack}}}*\left( {\left( {{Cos}\left\lbrack {\omega_{er}t} \right\rbrack} \right)^{i - j - {k{\lbrack 2\rbrack}} + {k{\lbrack 3\rbrack}}}\left( {{Sin}\left\lbrack {\omega_{er}t} \right\rbrack} \right)^{j + {k{\lbrack 2\rbrack}} - {k{\lbrack 3\rbrack}}}} \right)}}}}}}} \right)*{{J\lbrack n\rbrack}\left\lbrack {{n - {2{k\lbrack 1\rbrack}} - i},{i - \left( {{k\lbrack 2\rbrack} + {k\lbrack 3\rbrack}} \right)},{{k\lbrack 2\rbrack} + {k\lbrack 3\rbrack}}} \right\rbrack}\left. \quad{{\left\lbrack {\hat{u},\hat{v},\hat{w}} \right\rbrack*\left( {{\left( {{- \left( {{2\left( {n - {k\lbrack 1\rbrack}} \right)} + 1} \right)}\hat{r}} \right)\left( \frac{{U}^{2}}{r_{Init}} \right)^{{2{k{\lbrack 1\rbrack}}})}\left( {x\left\lbrack {U,{\hat{r}}_{Init},{\hat{r}}_{Init},\hat{u}} \right\rbrack} \right)^{n - {2{k{\lbrack 1\rbrack}}} - i}\left( {x\left\lbrack {U,{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init},\hat{v}} \right\rbrack} \right)^{i - j}\left( {x\left\lbrack {U,{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init},\hat{w}} \right\rbrack} \right)^{j}} + {\left( \frac{{U}^{2}}{r_{Init}} \right)^{{2{k{\lbrack 1\rbrack}}} + 1}\left( {\left( {\left( {n - {2{k\lbrack 1\rbrack}} - i} \right)\left( {\kappa \left\lbrack {U,{\hat{r}}_{Init},{\hat{r}}_{Init},\hat{u}} \right\rbrack} \right)^{n - {2{l{\lbrack 1\rbrack}}} - i - 1}\hat{u}} \right)\left( {\kappa \left\lbrack {U,{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init},\hat{v}} \right\rbrack} \right)^{i - j}\left( {\kappa \left\lbrack {U,{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init},\hat{w}} \right\rbrack} \right)^{j}} \right)} + {\left( \frac{{U}^{2}}{r_{Init}} \right)^{{2{k{\lbrack 1\rbrack}}} + 1}\left( \left( {{\kappa U},{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init},\hat{u}} \right\rbrack \right)^{n - {2{k{\lbrack 1\rbrack}}} - i}\left( {\left( {i - j} \right)\left( {\kappa \left\lbrack {U,{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init},\hat{v}} \right\rbrack} \right)^{i - j - 1}\hat{v}} \right)\left( {\kappa \left\lbrack {U,{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init},\hat{w}} \right\rbrack} \right)^{j}}} \right)} + {\left( \frac{{U}^{2}}{r_{Init}} \right)^{{2{k{\lbrack 1\rbrack}}} + 1}\left( {\left( {\kappa \left\lbrack {U,{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init},\hat{u}} \right\rbrack} \right)^{n - {2{k{\lbrack 1\rbrack}}} - 1}\left( {\kappa \left\lbrack {U,{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init},\hat{v}} \right\rbrack} \right)^{i - j}\left( {{j\left( {\kappa \left\lbrack {U,{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init},\hat{w}} \right\rbrack} \right)}^{j - 1}\hat{w}} \right)} \right)}} \right)} & 13 \end{matrix}$

(Annex pg 55/56)

This is a constant for at a particular initial condition defined in the co-ordinate system u, v, w. It is empirically based as it depends upon J. Although described as a constant, it should be appreciated that ┌ is a set of constant values, one for each n. Re-express Equation 12 using Equation 13

$\begin{matrix} {{{2\frac{^{2}}{s^{2}}U} - {EU}} = {{- \frac{1}{r_{Init}}}{\hat{r}}_{Init}{{UGM}\left( {\sum\limits_{n = 2}^{\infty}{\left( \frac{R}{r_{Init}} \right)^{n}{r_{n}\left\lbrack {U,\hat{u},\hat{v},\hat{w},{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init}} \right\rbrack}}} \right)}}} & 14 \end{matrix}$

(Annex pg 56/57)

f is thus expressed using geometric algebra in terms of U. It is a multipole function that includes an empirically based constant ┌.

The Equation is then solved using perturbation theory,

Define

$\begin{matrix} {\varepsilon = {{- {\frac{1}{r_{Init}}r_{Init}}} = {{- \frac{1}{\varepsilon}}\&}}} & 15 \\ {U = {\sum\limits_{i = 0}^{\infty}{\varepsilon^{i}U_{1}}}} & 16 \end{matrix}$

(Annex pg 65) And let

$\omega = {\sum\limits_{i = 0}^{\infty}{\varepsilon^{i}\omega_{1}}}$ Where $\frac{- E}{2} = \omega^{2}$

(Annex pg 66) Defining

${\Gamma_{n}\left\lbrack {U,\hat{u},\hat{v},\hat{w},{\hat{r}}_{Init},{\overset{\hat{.}}{r}}_{Init}} \right\rbrack} = {\sum\limits_{i = 0}^{\infty}{\varepsilon^{i}{\sum\limits_{j = 0}^{\lambda_{r,n,i}}{\alpha_{\Gamma,n,i,j}^{{j\omega}_{r,m,i,j}s}}}}}$

(Annex pg 74)

The perturbed equation of motion is given by

$\begin{matrix} {\sum\limits_{i = 0}^{1}{\varepsilon^{i}\left( {{{\frac{^{2}}{s^{2}}U_{i}} + \left( {\sum\limits_{k = 0}^{i}{U_{i - k}\left( {\sum\limits_{j = 0}^{k}{\omega_{k - j}\omega_{j}}} \right)}} \right)} = {\frac{1}{2}{\sum\limits_{i = 0}^{0}{\varepsilon^{i + 1}\left( {{\hat{r}}_{Init}{{GM}\left( {\sum\limits_{n = 2}^{\lambda_{Multipole}}{\left( \frac{R}{r_{Init}} \right)^{n}*\left( \left( {\sum\limits_{j = 0}^{i}{U_{i - j}{r_{n,j}\left\lbrack {U,\hat{u},\hat{v},\hat{w},{\hat{r}}_{Init},{\hat{r}}_{Init}} \right\rbrack}}} \right) \right)}} \right)}} \right)}}}} \right.}} & (18) \end{matrix}$

and the following three equations:

$\begin{matrix} {{\sum\limits_{i = 0}^{1}{\varepsilon^{i}\left( {\sum\limits_{j = 0}^{i}{\omega_{i - j}\omega_{j}}} \right)}} = {- \frac{E}{2}}} & (19) \\ {r_{Init} = {\sum\limits_{i = 0}^{1}{\varepsilon^{i}\left( {\sum\limits_{j = 0}^{i}{U_{{i - j},{Init}}U_{j,{Init}}}} \right)}}} & (20) \\ {{r_{Init}{\overset{.}{r}}_{Init}} = {\sum\limits_{i = 0}^{1}{\varepsilon^{i}\left( {\sum\limits_{j = 0}^{i}\left( {{U_{{i - j},{Init}}^{\prime}U_{j,{Init}}} + {U_{{i - j},{Init}}U_{j,{Init}}^{\prime}}} \right)} \right)}}} & (21) \end{matrix}$

(Annex pg 76)

A solution of the following form is assumed:

$\begin{matrix} {{x\lbrack s\rbrack} = {{a\; ^{{j\omega}\; s}} + {b\; ^{{- {j\omega}}\; s}} + {\sum\limits_{i = 1}^{n}{\frac{A_{i}}{\omega^{2} - \alpha_{i}^{2}}^{j\; a_{i}s}}}}} & (22) \end{matrix}$

(Annex pg 77)

where, the following stability condition holds:

A _(i)=0 when ω²−α₁ ²=0  (23)

(Annex pg 78)

$\begin{matrix} {{U_{i}\lbrack s\rbrack} = {\sum\limits_{j = 0}^{\lambda_{u,i}}{\alpha_{U,i,j}^{{j\omega}_{U,i,j}s}}}} & (24) \\ {{U\lbrack s\rbrack} = {\sum\limits_{i = 0}^{1}{\varepsilon^{i}{\sum\limits_{j = 0}^{\lambda_{U,i}}{\alpha_{U,i,j}^{{j\omega}_{U,i,j}s}}}}}} & (25) \\ {{{U\lbrack s\rbrack}{U\lbrack s\rbrack}^{\dagger}} = {\sum\limits_{i = 0}^{2}{\varepsilon^{i}\left( {\sum\limits_{j = 0}^{\lambda_{{UU}^{\dagger}i}}{\alpha_{{UU}^{\dagger},i,j}^{{j\omega}_{{UU}^{\dagger},i,j}s}}} \right)}}} & (26) \\ {t = {\sum\limits_{i = 0}^{2}{\varepsilon^{i}{\sum\limits_{j = 0}^{\lambda_{{tExpr},i}}{\alpha_{{tExpr},i,j}^{{j\omega}_{{tExpr},i,j}s}}}}}} & (27) \end{matrix}$

(Annex pg 83/84)

It should also be noted that from Equation 2

$\begin{matrix} {U_{0}^{\dagger} = r_{Init}^{\frac{1}{2}}} & (28) \end{matrix}$

(Annex pg 87)

also from Equation 2

$\begin{matrix} {{\frac{1}{2}r_{Init}^{\frac{1}{2}}{\overset{.}{r}}_{Init}{\hat{r}}_{Init}} = {\frac{U_{0}^{\dagger}}{s}_{s = 0}}} & (29) \end{matrix}$

(Annex pg 87)

The method 30 described with reference to FIG. 3 determines an unknown satellite position at a particular time. It illustrates some of the blocks of FIG. 2 in more detail.

The object of block 31 is to determine the multipole constants J up to a certain order (see equations 9 and 13 and Annex pg 29/30) that takes account of the gravitational potential produced by a distributed mass.

The method of FIG. 2 can be adapted to determine the multipole constants J up to a certain order, which when used in the method of FIG. 2 determines a known satellite position at a particular time.

By using additional ephemeris data that accurately identifies satellite positions at different times, it is possible to generate a series of equations in which the unknown is the multipole constants J to the desired order. Optimisation techniques may then be used to determine the common unknown multipole constants.

For example, if the positions r_(i) of a satellite are known accurately at different times t_(i), then there will be values s_(i) associated with t_(i). Substituting r_(i) and t_(i) into the Equations 3 and 25 results in two equations with unknowns J and the respective s_(i).

These equations may be solved using least mean square techniques. Many different accurate positions for the same satellite r_(i) at known times t_(i) may be used to increase accuracy. The method may also be repeated with additional satellites to increase accuracy.

The multi-pole constants J to the respective order is empirically determined as it is based on accurate ephemeris data which may be in the past.

At block 32, ephemeris data defining the initial conditions of a satellite are mapped or transformed. The initial conditions are mapped using defined mappings from one variable space [r, t] to another variable space [U, s]. This produces initial conditions in [U, s] space.

The initial conditions include:

r _(int) is the vector velocity of the satellite at time t_(int) r _(int) is the vector displacement of the satellite at time t_(int)

The equations 28 and 29 are used to perform the mapping.

At block 33, a force constant r that is used to define the gravitational force in [U, s] space is determined.

Equation 13 is used calculate r_(n)[U, û, {circumflex over (v)}, ŵ, {circumflex over (r)}_(Init), {circumflex over (r)}_(Init)]

The force constant r is dependent upon the co-ordinate system û, {dot over ({circumflex over (v)}, {dot over (ŵ)} and on the initial conditions {dot over (r)}_(int), r_(int). It should therefore be updated whenever new ephemeris data is to be used. In some embodiments, the force constant may be distributed with or at the same time as the ephemeris data 14. For each, the force constant r need only be calculated once to yield a function in terms of U given the co-ordinate system and initial conditions.

It will be appreciated from Equation 13 that the force constant r is dependent upon J and that r is also empirically based.

The empirically based data 13 produced by the empirical data generator 12 may be either the multipole constant J or the force constant ┌.

At block 24, a differential equation of motion of the satellite, expressed using geometric algebra in terms of U and s is solved. The block includes sub-blocks 34 to 38.

The differential equation of motion of the satellite, expressed using geometric algebra in terms of U and s comprises the force constant ┌ (see Equation 14). This differential equation may, for example, be solved using perturbation theory and the mapped initial conditions as explained in more detail below.

At block 34, the differential equations for the different orders of perturbation are solved to a target order of perturbation. In this example, they will be solved to the second order but in other examples a different target order for solution may be chosen.

The first order differential equation is solved to determine Uo

The next order differential equation is simplified using the first order differential equation and its determined solution Uo. The equation is then solved to determine U₁

In general, the r^(th) order differential equation is simplified using the (r−1)^(th) order differential equation and its determined solutions Ui. The equation is then solved to determine U_(r)

The process is continued until the target order is reached and completed. The target order determines accuracy.

The general solution U, is found by solving equations 17 to 21 using the stability condition of Equation 23 as a constraint. (see Annex pgs 60 to 83)

At block 35, express the obtained solutions Ui for each perturbation order using the algebraic equation 24 and determine the coefficients of Equation 22.

$\begin{matrix} {{U_{i}\lbrack s\rbrack} = {\sum\limits_{j = 0}^{\lambda_{U,i}}{\alpha_{U,i,j}^{{j\omega}_{U,i,j}s}}}} & (24) \end{matrix}$

At block 36, algebraically express U using the algebraic expression for Ui from Equation 24 in Equation 25 and determine the coefficients of Equation 25.

$\begin{matrix} {{U\lbrack s\rbrack} = {\sum\limits_{i = 0}^{1}{\varepsilon^{i}{\sum\limits_{j = 0}^{\lambda_{U,i}}{\alpha_{U,i,j}^{{j\omega}_{U,i,j}s}}}}}} & (25) \end{matrix}$

At block 37, algebraically express U[e]U[s]¹ using the algebraic expression for U from Equation 25 in Equation 26 and determine the coefficients of Equation 26.

$\begin{matrix} {{{U\lbrack s\rbrack}{U\lbrack s\rbrack}^{\dagger}} = {\sum\limits_{i = 0}^{2}{\varepsilon^{i}\left( {\sum\limits_{j = 0}^{\lambda_{{UU}^{\dagger}i}}{\alpha_{{UU}^{\dagger},i,j}^{{j\omega}_{{UU}^{\dagger},i,j}s}}} \right)}}} & (26) \end{matrix}$

At block 38, algebraically express ∫_(o) ^(o2)U[s]U[s]′ds using the algebraic expression for U[s]U[s]′ from Equation 26 in Equation 27 to determine the coefficients of Equation 27.

$\begin{matrix} {t = {\sum\limits_{i = 0}^{2}{\varepsilon^{i}{\sum\limits_{j = 0}^{\lambda_{{tExpr},i}}{\alpha_{{tExpr},i,j}^{{j\omega}_{{tExpr},i,j}s}}}}}} & (27) \end{matrix}$

At block 25, an algebraic solution to the differential equation of motion of the satellite is used to determine the position of the satellite at a chosen time. Block 25 comprises the sub-blocks 40 to 42.

Equation 27 is an algebraic function that relates a time variable t to a first mapped variable s. The coefficients of this equation have been determined at block 38. At block 40, this algebraic equation is used to convert a time variable value t₁-t_(init) to a first value s₁ of the first mapped variable.

Equation 25 is an algebraic function that relates the first mapped variable s to the second mapped variable U. The coefficients of this equation have been determined at block 36. At block 41, this algebraic equation is used to convert the first value s₁ of the first mapped variable s to a second value U(s₁) of a second mapped variable U.

The satellite is positioned at block 42 by converting the second value U(s₁) of the second mapped variable to a position value r_(t1) that positions the satellite. The mapping between [r, t] and [U, s] (Equation 2) is used to determine r_(t1)

r _(t1) =U ^(†) [S ₁ ]{circumflex over (r)} _(Init) U[S ₁]

The position value can then be stored in a memory for future use in applications.

This approach provides an algebraic solution the accuracy of which is dependent upon the target order of perturbation elected and used. The accuracy is not time dependent. Assuming there is no change to the perturbation force the validity period is theoretically infinite at an accuracy determined by the ‘depth’ of algebraic solution (i.e. the target order of perturbation used). Consequently there is no requirement to repeatedly send or receive ephemeris data and ephemeris data may be pulled by the positioning apparatus rather than pushed to the positioning apparatus.

It should be appreciated that the various blocks in FIGS. 2 and 3 need not be performed by a single apparatus.

For example, the boundary conditions (Equations 19, 20, 21) may be expressed in a look-up table in terms of the variables a, b, ω_(o), and the initial conditions {dot over (r)} _(int), r _(int).

When the initial conditions are defined by received ephemeris data the three boundary conditions are expressed in terms of variables a, b, ω_(o) in a look-up table. The three equations in three unknowns can be solved using standard processes (Annex pg 83) to provide a, b, ω_(o),

The equation below may be expressed in a look-up table as a function of a, b, ω_(o), t, and s:

t−t ₀=∫_(o) ^(s) ^(i) U[s]U[s] ^(†) ds

Once a, b, ω_(o) have been determined for a set of initial conditions {dot over (r)} _(int), r _(int), the value s at any arbitrary future time t can be simply determined.

The equation below may be expressed in a look-up table as a function of a, b, ω_(o), and s (Annex pg 82):

${U\lbrack s\rbrack} = {\sum\limits_{i = 0}^{1}{\varepsilon^{i}{\sum\limits_{j = 0}^{\lambda_{U,i}}{\alpha_{U,i,j}^{{j\omega}_{u,i,j}s}}}}}$

Substituting the values of a, b, ω_(o), and s provides U[s],

The position can then be simply calculated

r _(t) ₃ =U ^(†) [S ₁ ]{circumflex over (r)} _(Init) U[S ₁]

It is therefore possible to perform a large amount of pre-processing to obtain geometric algebraic look-up tables, which can be simply used to calculate the position. It will be appreciated that the exact extent and nature of the pre-processing may vary from implementation to implementation.

If more than on constellation may be used for positioning (e.g. GPS, Galileo, Clonass etc), then it may be advantage to nest the look-up tables such that those relating to a particular constellation are stored logically together. This improves access speed.

Referring to FIG. 4 the blocks 31, 32, 33, 24, 25 may be carried out in different locations in different apparatus.

It may, for example, be advantageous to have block 31 performed where there is access to accurate satellite positioning information. This may also be where the ephemeris data 15 is generated.

The block 32 (mapping ephemeris data) may, for example, occur before or after distribution of ephemeris data 15.

The block 33 (determining force constant) may, for example, occur before distribution of the ephemeris data 15 and, for example be distributed with the ephemeris data 15. Alternatively, the block 33 (determining force constant) may, for example, occur after receiving distributed ephemeris data 15.

The block 24 (determining the coefficients of the algebraic expressions) may, for example, occur before distribution of the ephemeris data 15 and/or force constant and the coefficients may be distributed with the ephemeris data and/or force constant. Alternatively, the block 24 (determining the coefficients of algebraic expressions) may, for example, occur after receiving distributed ephemeris data and after receiving or generating the force constant.

The block 25 (determining position) may, for example, occur before distribution of the ephemeris data and, for example, be distributed with the ephemeris data. Alternatively, the block 33 (determining force constant) may, for example, occur after receiving or determining the coefficients of the algebraic expressions.

In one implementation a mobile terminal may perform blocks 31, 32, 33, 24 and 25. In another implementation a mobile terminal may perform only blocks 32, 33, 24 and 25. In another implementation a mobile terminal may perform only blocks 33, 24 and 25. In another implementation a mobile terminal may perform only blocks 24 and 25. In another implementation a mobile terminal may perform only block 25.

FIG. 4 schematically illustrates a Global Navigation Satellite System (GNSS) 50.

The system 50 comprises: a plurality of GNSS communication satellites 2 for transmitting positioning signals 51 and one or more mobile receiver terminals 52.

A mobile receiver terminal 52 receives the positioning signals from at least some of the satellites and at least partially processes the positioning signals to determine the distance of each satellite from the mobile receiver terminal 52.

The mobile receiver terminal 52 determines the position 53 of the mobile receiver terminal 52 by using the determined distance values for each satellite and obtained accurate positions for each satellite. The mobile receiver terminal 52 use the satellites positions and their distances to determine the position 53 of the mobile receiver terminal 52. The position 53 may be stored in a memory of the mobile receiver terminal 52.

Typically four or more satellites need to be in sight and the satellite positions need to be accurate.

This system 50 may advantageously use or include the satellite positioning system 10 to provide long-term accurate satellite positions.

For example, in this example the GNSS system 50 includes a system controller 54 that comprises the empirical data generator 12 and the ephemeris data generator 13. In other implementations the empirical data generator 12 and the ephemeris data generator 13 may be housed separately using the system controller 52 or elsewhere.

In the illustrated example, the empirical data generator 12 determines and distributes the multipole constant J and the force constant ┌. The empirical data generator 12 performs blocks 31, 32 and 33 of FIG. 3. However, in other implementations the empirical data generator 12 determines and distributes only the multipole constant J and the force constant r is determined elsewhere. It may, for example, be determined in the positioning apparatus 14.

In this illustrated example, the positioning apparatus 14 is integrated within the mobile terminal 52. The positioning apparatus performs blocks 24 and 25 to determine and store satellite positions 17. The satellite positions are used to determine and store the position 53 of the mobile receiver terminal. In other implementations the positioning apparatus 14 may be located outside the terminal and may provide the satellite positions 17 to the mobile receiver terminal 52.

The mobile receiver terminal 52 need not be a dedicated GNSS terminal. The terminal may, for example, have functionality for other uses. It may, for example, also operate as a personal digital assistant and/or a cellular phone and/or a personal music player and/or a personal video player and/or a personal computer etc.

There is no significant time delay in positioning the terminal 52 immediately after starting-up the terminal 52. The position apparatus 14 can determine the position 17 of a satellite without needing to acquire current ephemeris data. This allows positioning services to be available immediately when the terminal 52 is started.

In one embodiment, the terminal 52 has two modes of operation. It has a first positioning mode that requires the regular receipt of ephemeris data because it expires after a few hours. It has a second positioning mode, based on the method 30 of FIG. 3, which performs block 25 to determine a satellite position 17. It may be possible for the terminal 52 to start-up in the second mode to provide instantaneous positioning and then switch to the first mode when updated ephemeris data is received. It may be possible for the terminal 52 to switch from the second mode to the first mode when it is determined that the first mode is inaccurate or potentially inaccurate. The determination of possible inaccuracy may occur, for example, by having a validity period for ephemeris data, after which that data expires and is no longer accurate. The determination of possible inaccuracy may occur, for example, by regularly performing the first mode and the second mode in parallel and determining when the resulting positions determined using the two modes are significantly different.

In another embodiment, the first mode and the second mode are performed in parallel and differences in results are used to correct for clock drift.

FIG. 5 schematically illustrates a controller 60 suitable for performing one or more of the blocks illustrated in the FIGS. 2 and/or 3. A controller of this type may be used as the empirical data generator 12 and/or the ephemeris data generator 13 and/or the positioning apparatus 14.

The controller 60 may be implemented using instructions that enable hardware functionality, for example, by using executable computer program instructions in a general-purpose or special-purpose processor that may be stored on a computer readable storage medium (disk, memory etc) to be executed by a processor.

The processor 62 is configured to read from and write to the memory 64. The processor 62 may also comprise an output interface via which data and/or commands are output by the processor 62 and an input interface via which data and/or commands are input to the processor 62.

The memory 64 stores a computer program 66 comprising computer program instructions that control the operation of a host apparatus when loaded into the processor 62. The computer program instructions 66 provide the logic and routines that enables the apparatus to perform the methods illustrated in FIGS. 2 & 3. The processor 62 by reading the memory 64 is able to load and execute the computer program 66.

The computer program may arrive at the apparatus via any suitable delivery mechanism. The delivery mechanism may be, for example, a computer-readable storage medium, a computer program product, a memory device, a record medium such as a CD-ROM or DVD, an article of manufacture that tangibly embodies the computer program. The delivery mechanism may be a signal configured to reliably transfer the computer program 53. The apparatus may propagate or transmit the computer program as a computer data signal.

Although the memory 52 is illustrated as a single component it may be implemented as one or more separate components some or all of which may be integrated/removable and/or may provide permanent/semi-permanent/dynamic/cached storage.

References to ‘computer-readable storage medium’, ‘computer program product’, ‘tangibly embodied computer program’ etc. or a ‘controller’, ‘computer’, ‘processor’ etc. should be understood to encompass not only computers having different architectures such as single/multi-processor architectures and sequential (Von Neumann)/parallel architectures but also specialized circuits such as field-programmable gate arrays (FPGA), application specific circuits (ASIC), signal processing devices and other devices. References to computer program, instructions, code etc. should be understood to encompass software for a programmable processor or firmware such as, for example, the programmable content of a hardware device whether instructions for a processor, or configuration settings for a fixed-function device, gate array or programmable logic device etc.

It should be appreciated that determining the position of a satellite has many uses. It may be used to position GNSS satellites. It may be used to position and track other satellites such as space debris, which may be used to produce collision warnings. It may be used to position a satellite even after the ephemeris data has ‘expired’ and new ephemeris data is not available. It may be used for low power measuring of movement of a positioning apparatus 14. this may be useful when measuring landslip, structural failure, tectonic plate movement etc.

Various components may have been described as connected in the preceding paragraphs. It should be appreciated that they may instead be operationally coupled and any number or combination of intervening elements can exist (including no intervening elements)

Reference has been made to various examples in the preceding description. It should be understood that reference to an example implies that alternative, but not necessarily explicitly disclosed implementations can be used.

The blocks illustrated in FIGS. 2 and 3 may represent steps in a method and/or sections of code in the computer program. The illustration of a particular order to the blocks does not necessarily imply that there is a required or preferred order for the blocks and the order and arrangement of the block may be varied. Furthermore, it may be possible for some steps to be omitted.

As used here ‘apparatus’ includes devices, modules, systems. Module refers to a unit or apparatus that excludes certain parts/components that would be added by an end manufacturer or a user.

Although embodiments of the present invention have been described in the preceding paragraphs with reference to various examples, it should be appreciated that modifications to the examples given can be made without departing from the scope of the invention as claimed.

Features described in the preceding description may be used in combinations other than the combinations explicitly described.

Although functions have been described with reference to certain features, those functions may be performable by other features whether described or not.

Although features have been described with reference to certain embodiments, those features may also be present in other embodiments whether described or not.

Whilst endeavoring in the foregoing specification to draw attention to those features of the invention believed to be of particular importance it should be understood that the Applicant claims protection in respect of any patentable feature or combination of features hereinbefore referred to and/or shown in the drawings whether or not particular emphasis has been placed thereon. 

1-44. (canceled)
 45. A method comprising: receiving first information for defining a first algebraic function that relates a time variable to a first mapped variable; using the function to convert a time variable value to a first value of the first mapped variable; converting the first value of the first mapped variable to a second value of a second mapped variable; and positioning a satellite by converting the second value of the second mapped variable value to a position value that positions a satellite.
 46. A method as claimed in claim 45, wherein the first algebraic function is based upon an algebraic solution to a geometric algebraic differential equation of motion of the satellite.
 47. A method as claimed in claim 45, wherein the first information includes coefficients for defining the first algebraic function.
 48. A method as claimed in claim 45, wherein a second algebraic function that relates the first mapped variable to the second mapped variable is used to convert the first value of the first mapped variable to a second value of a second mapped variable.
 49. A method as claimed in claim 45, wherein the second algebraic function is an algebraic solution to the differential equation of motion of the satellite.
 50. A method as claimed in claim 49, wherein the differential equation of motion is ${{2\frac{^{2}}{s^{2}}U} - {EU}} = {U\underset{\_}{r}\underset{\_}{f}}$ where E is a constant U is defined by r=U⁺ σ₁ U σ₁ has a constant unit length s is defined by $\frac{}{s} = {r\frac{}{t}}$  and f is expressed using geometric algebra in terms of U.
 51. A method as claimed in claim 49, further comprising receiving second information for defining the second algebraic function.
 52. A method as claimed in claim 51, wherein the second information includes coefficients for defining the second algebraic function.
 53. A method as claimed in claim 49, wherein the first and second algebraic functions are expressed using complex exponential functions.
 54. A method as claimed in claim 49, wherein the first and second algebraic functions are expressed as weighted summations of complex exponential functions.
 55. A method as claimed in claim 49, further comprising storing the position of the satellite in memory.
 56. An apparatus comprising: processing circuitry; a memory storing instructions which when loaded into the processor enable the apparatus to: use a function that relates a time variable to a first mapped variable, and is defined by received information, to convert a time variable value to a first value of the first mapped variable; convert the first value of the first mapped variable to a second value of a second mapped variable; and position a satellite by converting the second value of the second mapped variable value to a position value that positions a satellite.
 57. An apparatus comprising: means for using a function that relates a time variable to a first mapped variable, and is defined by received information, to convert a time variable value to a first value of the first mapped variable; means for converting the first value of the first mapped variable to a second value of a second mapped variable; and means for positioning a satellite by converting the second value of the second mapped variable value to a position value that positions a satellite.
 58. A computer program comprising instructions which when loaded into a processor that is coupled with a memory unit enable the processor to: use a function that relates a time variable to a first mapped variable, and is defined by received information, to convert a time variable value to a first value of the first mapped variable; convert the first value of the first mapped variable to a second value of a second mapped variable; and position a satellite by converting the second value of the second mapped variable value to a position value that positions a satellite.
 59. A method comprising: positioning a satellite using an algebraic solution to the equation ${{2\frac{^{2}}{s^{2}}U} - {EU}} = {U\underset{\_}{r}\underset{\_}{f}}$ where E is a constant U is defined by r=U⁺ σ₁ U σ₁ has a constant unit length s is defined by $\frac{}{s} = {r\frac{}{t}}$  and f is expressed using geometric algebra in terms of U.
 60. A method as claimed in claim 59, wherein f is at least one of the following: a) the gravitational field created by the uneven distribution of the earth's mass expressed as location dependent values or b) a geometric algebraic expression of a multi-pole function or c) f is expressed using an empirically determined, location independent constant or d) f is expressed using an empirically determined, initial-conditions dependent constant or e) f is expressed using perturbation theory or f) is expressed as a constant function of U for a particular co-ordinate system and particular initial conditions.
 61. An apparatus comprising: processing circuitry; a memory storing instructions which when loaded into the processor enable the apparatus to position a satellite using an algebraic solution to the equation in any of the preceding claims.
 62. An apparatus comprising: means for determining an algebraic solution to the equation ${{2\frac{^{2}}{s^{2}}U} - {EU}} = {U\underset{\_}{r}\underset{\_}{f}}$ where E is a constant U is defined by r=U⁺ σ₁ U σ₁ has a constant unit length s is defined by $\frac{}{s} = {r\frac{}{t}}$  and f is expressed using geometric algebra in terms of U. and means for positioning the satellite using the algebraic solution.
 63. A computer program comprising instructions which when loaded into a processor coupled to a memory unit enable the processor to: determine an algebraic solution to the equation ${{2\frac{^{2}}{s^{2}}U} - {EU}} = {U\underset{\_}{r}\underset{\_}{f}}$ where E is a constant U is defined by r=U⁺ σ₁ U σ₁ has a constant unit length s is defined by $\frac{}{s} = {r\frac{}{t}}$  and f is expressed using geometric algebra in terms of U. and position at least one satellites using the algebraic solution.
 64. A computer program, stored on a tangible storage media that when loaded onto an apparatus, that is configured to perform the method of claim 62 to resolve the position of at least one satellite utilizing the geometric algebraic solution performing the instructions contained on said media on a processor coupled to a memory unit. 